home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
C-Communications
/
(c)c2.d64
/
autoterm_1650.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
7KB
|
395 lines
0 PRINTCHR$(14):POKE53280,0:POKE53281,0
1 PRINT"[147][193][213][212][207][196][201][193][204]/[212][197][210][205] [198]OR 1650 [158](12/12/83)"
2 PRINT"[150][207]RIGINALLY [194]Y [211]TEVE [208]UNTER"
3 PRINT"[195]ONVERTED [194]Y [203]EITH [208]ETERSON"
4 PRINT"[195]OLOUR [194]Y [199]ORD [196]UESBURRY"
5 PRINT"[158][193]UTODIALING [194]Y [210]ICHARD [194]RADLEY"
6 IFPEEK(22784)<>76THENPRINT"[204]OADING [205]ACHINE [204]ANGUAGE":LOAD"TERM.64.C",8,1
7 PRINT"[195]LEARING [213]SED #'S FILE":OPEN25,8,3,"@0:CHECKER,U,W":PRINT#25,"NO":CLOSE25
8 POKE56,88
9 POKE644,88
10 CLR
11 OPEN5,2,0,CHR$(6)+CHR$(0):REM300 BAUD
12 B1=56577:B2=56579
13 RE$=" "
14 DIMYY$(30):DIMZZ$(30):DIMBB$(30)
15 SE$=" "
16 MO%=134
17 R%=0
18 C$="0123456789ABCDEF"
19 RP=2
20 RS=0
21 WP=RP
22 WS=RS
23 POKE24575,RP
24 POKE24574,RS+96
25 POKE24573,WP
26 POKE24572,WS+96
27 PA(0)=10
28 PA(1)=6
29 PA(2)=2
30 ML=22784
31 PRINTCHR$(14)
32 POKE24569,0
33 OPEN1,8,15
34 POKE556,0
35 POKE552,0
36 POKE553,1
37 DN$=""
38 GOTO45
39 GET#5,A$,A$
40 SYSML+0
41 CLOSE11
42 POKE24569,0
43 TM=0
44 GOTO8
45 PRINT"[147][198]UNCTION:"
46 PRINT"1 - [212]ERMINAL [205]ODE"
47 PRINT"2 - [210]ECEIVE PROGRAM"
48 PRINT"3 - [212]RANSMIT PROGRAM ([194]EWARE!)"
49 PRINT"4 - [208]RINT [196]ISK [198]ILE"
50 PRINT"5 - [195]HANGE [195]OLOUR"
51 PRINT"6 - [196]IAL [193] [194][194][211]"
52 PRINT"7 - [195]REATE #'S [198]ILE"
53 PRINT"8 - [209]UIT"
54 GETA$
55 IFA$=""THEN54
56 ONVAL(A$)GOTO39,123,184,58,251,263,380,225
57 GOTO54
58 PRINT"[206]AME OF [198]ILE?"
59 PRINT">";
60 GOSUB232
61 IFB$=""THEN45
62 CLOSE11
63 OPEN11,8,11,B$
64 GOSUB245
65 IFESTHENPRINTES$:GOTO58
66 PRINT"[193]SCII OR [195]BM [212]YPE [207]UTPUT?"
67 PRINT">";
68 POKE555,0
69 GETA$
70 IFA$=""THEN69
71 IFA$=CHR$(13)THEN45
72 IFA$="A"THENPOKE555,0:GOTO74
73 IFA$<>"C"THEN69
74 PRINTCHR$(ASC(A$)OR128)""
75 SYSML+3
76 CLOSE11
77 GOTO45
78 GOSUB96
79 A=PEEK(553)
80 A=A+1
81 IFA=2THENA=0
82 POKE553,A
83 GOTO280
84 GOSUB96
85 PA=PA+1
86 IFPA=3THENPA=0
87 POKE660,(PA(PA)ORDU)*16+1
88 GOTO280
89 GOSUB96
90 DU=DU+1
91 IFDU=2THENDU=0
92 POKE660,(PA(PA)ORDU)*16+1
93 GOTO280
94 A$=" [146]"
95 GOTO97
96 A$=" "
97 PRINT" ";LEFT$(DN$,PEEK(553));A$
98 PRINT" ";LEFT$(DN$,PA);A$
99 PRINT" ";LEFT$(DN$,DU);A$
100 RETURN
101 A$=" [146]"
102 GOTO104
103 A$=" "
104 PRINT" ";LEFT$(DN$,BR);A$
105 PRINT" ";LEFT$(DN$,SB);A$
106 PRINT" ";LEFT$(DN$,WL);A$
107 RETURN
108 GOSUB103
109 BR=BR+1
110 IFBR=3THENBR=0
111 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6)
112 GOTO82
113 GOSUB103
114 SB=SB+1
115 IFSB=2THENSB=0
116 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6)
117 GOTO82
118 GOSUB103
119 WL=WL+1
120 IFWL=2THENWL=0
121 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6)
122 GOTO82
123 REM RECEIVE A PROGRAM
124 PRINT"[206]AME OF [198]ILE?"
125 PRINT"[196]EFAULT DRIVE IS #0"
126 PRINT">";
127 GOSUB232
128 S$=B$
129 IFS$=""THENPRINT#5,"A";:GOTO39
130 IFMID$(S$,2,1)<>":"THENS$="0:"+S$
131 GOSUB173
132 S$="@"+S$+T$+",W"
133 CLOSE2
134 OPEN2,8,2,S$
135 GOSUB245
136 IFESTHENPRINTES$:CLOSE2:GOTO124
137 PRINT#5,"TTTTTTTTTT";
138 FORX=0TO8
139 NEXT
140 GET#5,A$
141 IFST=0THEN138
142 SYSML+18
143 IFSTTHEN154
144 GET#5,A$
145 IFST=0THEN144
146 S1=PEEK(ML-2)
147 S2=PEEK(ML-1)
148 SYSML+12
149 IFS1<>PEEK(ML-2)ORS2<>PEEK(ML-1)THEN158
150 SYSML+15
151 PRINT#5,"";
152 PRINT"-";
153 GOTO138
154 CLOSE2
155 PRINT#5,"SSSSSSSSSS";
156 PRINT
157 GOTO39
158 PRINT#5,"";
159 PRINT":";
160 GOTO138
161 PRINT"[212]YPE OF [198]ILE:"
162 PRINT"([208])ROGRAM, ([215])ORD[208]RO, OR ([211])EQ?"
163 PRINT">";
164 GETB$
165 IFB$=""THEN164
166 TY$=B$
167 FL=0
168 IFB$="P"THENT$=",P":POKE557,0:PRINT"[208]ROGRAM":RETURN
169 IFB$="S"THENT$=",S":POKE557,0:PRINT"[211][197][209]":RETURN
170 IFB$="W"THENT$=",P":POKE557,1:PRINT"[215]ORD[208]RO":RETURN
171 IFB$=CHR$(13)THENFL=1:RETURN
172 GOTO164
173 PRINT#5,"UUUUUUUUUU";
174 GET#5,A$
175 IFST<>0THEN174
176 IFA$="P"THENT$=",P":POKE557,0:A$="[208]ROGRAM":GOTO180
177 IFA$="S"THENT$=",S":POKE557,0:A$="[211][197][209]":GOTO180
178 IFA$="W"THENT$=",P":POKE557,1:A$="[215]ORD[208]RO":GOTO180
179 GOTO174
180 PRINT"[198]ILE [212]YPE: "A$""
181 GET#5,A$
182 IFST=0THEN181
183 RETURN
184 REM SEND AN SEQ FILE TO BULLETIN BOARD
185 PRINT"[206]AME OF [198]ILE TO [211]END?"
186 PRINT">";
187 GOSUB232
188 S$=B$
189 IFS$=""THENPRINT#5,"A";:GOTO39
190 GOSUB161
191 IFFLTHENS$="":GOTO189
192 CLOSE2
193 OPEN2,8,2,S$+T$
194 GOSUB245
195 IFESTHENPRINTES$:CLOSE2:GOTO185
196 FORX=1TO10
197 PRINT#5,TY$;
198 NEXTX
199 PRINT
200 GET#5,A$
201 IFST<>0ORA$<>"U"THEN200
202 SYSML+9
203 CK=ST
204 GET#5,A$
205 IFST=0THEN204
206 FORX=1TO200
207 NEXT
208 REM DELAY LOOP
209 FORT=0TO255
210 PRINT#5,CHR$(PEEK(ML-256+T));
211 NEXTT
212 PRINT#5,"ZZZZZZZZZZZZZZZ";
213 GET#5,A$
214 IFST<>0THEN213
215 IFA$=""THENPRINT":";:GOTO204
216 IFA$<>""THEN213
217 IFCK=0THENPRINT"-";:GOTO202
218 GET#5,A$
219 IFST=0THEN218
220 CLOSE2
221 GOTO39
222 SYSML+21
223 A$=CHR$(PEEK(634))
224 RETURN
225 POKE22784,0:REM QUIT TERMINAL
226 CLOSE5
227 CLOSE1
228 CLOSE2
229 CLOSE11
230 PRINTCHR$(9)
231 END
232 PRINT" [146][157]";
233 B$=""
234 GETA$
235 IFA$=""THEN234
236 IFA$=CHR$(20)THEN241
237 IFA$=CHR$(13)THENPRINT" ":RETURN
238 B$=B$+A$
239 PRINT" [157]"A$" [146][157]";
240 GOTO234
241 IFLEN(B$)=0THEN234
242 B$=LEFT$(B$,LEN(B$)-1)
243 PRINTA$;
244 GOTO234
245 REM GET ERROR CHANNEL
246 INPUT#1,E1$,E2$,E3$,E4$
247 ES$=E1$+","+E2$+","+E3$+","+E4$
248 ES=VAL(E1$)
249 RETURN
250 POKE22784,0:RUN
251 F1=0:F2=0:F3=0
252 PRINT"[147][198]1=[194]ORDER COLOUR"CHR$(13)"[198]3=[194]ACKGROUND COLOUR"
253 PRINT"[198]5=CURSOR COLOUR"CHR$(13)"[198]7=[194]ACK TO MAIN MENU"
254 IFF1>15THENF1=0
255 IFF2>15THENF2=0
256 IFF3>15THENF3=0
257 GETYU$:IFYU$=""THEN257
258 IFYU$="[133]"THENPOKE53280,F1:F1=F1+1
259 IFYU$="[134]"THENPOKE53281,F2:F2=F2+1
260 IFYU$="[135]"THENPOKE646,F3:F3=F3+1
261 IFYU$="[136]"THEN45
262 GOTO252
263 RU=0:GOSUB330:DD=1
264 IFHH=0GOTO45
265 B1=56577:B2=56579:X1=0
266 IFRU<>1GOTO269
267 D$=ZZ$(DD):IFD$="@"THENDD=DD+1:D$=ZZ$(DD):IFZZ$(DD)="@"GOTO267
268 DD=DD+1:IFDD>ZZTHENDD=1:GOTO267
269 POKEB2,32
270 POKEB1,0
271 FORX=1TO1000:NEXTX
272 PRINT"[147]"
273 PRINT:PRINT
274 PRINT"[196]IALING!"
275 PRINT"[212]O [211]TOP [196]IALING [208]RESS [193]NY [203]EY [193]ND [215]AIT[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]"
276 POKEB1,32
277 T=100
278 T=T-1:IFT<>0GOTO278
279 D=LEN(D$)
280 FORX=1TOD
281 N$=MID$(D$,X,1):II=0
282 IFN$<CHR$(48)ORN$>CHR$(57)THENII=1
283 IFN$="%"THENGOSUB391
284 PRINTN$;:IFII=1GOTO288
285 N=VAL(N$)
286 IFN=0THENN=10
287 GOSUB307
288 NEXTX
289 PRINT
290 PRINT"DIAL COMPLETE"
291 FORX=1TO400
292 IF PEEK(B1)<>127THENX=3001:X1=1
293 GETFF$:IFFF$<>""GOTO45
294 NEXTX
295 IFX1<>1THEN265
296 IFRU<>1GOTO319
297 OPEN25,8,3,"0:CHECKER"
298 INPUT#25,YY$:IFYY$="NO"THENCLOSE25:GOTO303
299 YY=1:YY$(YY)=YY$
300 YY=YY+1:INPUT#25,YY$(YY)
301 IFYY$(YY)="@"THENYY=YY-1:CLOSE25:GOTO303
302 GOTO300
303 OPEN25,8,3,"@0:CHECKER,U,W"
304 PRINT#25,D$:FORX=1TOYY:PRINT#25,YY$(X):NEXTX:PRINT#25,"@":CLOSE25
305 GOTO319
306 REM SUBROUTINE TO PULSE THE LINE N TIMES
307 FORN1=1TON
308 POKEB1,0
309 T=2
310 T=T-1:IFT<>0THEN310
311 POKEB1,32
312 T=2
313 T=T-1:IFT<>0THEN313
314 NEXTN1
315 T=10
316 T=T-1:IFT<>0THEN316
317 RETURN
318 GOTO39
319 S=54272
320 FORL=0TO24:POKES+L,0:NEXT
321 POKES+1,100
322 POKES+5,10
323 POKES+15,255
324 POKES+24,15
325 POKES+4,21
326 GETCH$:IFCH$=""GOTO328
327 FORL=STOS+24:POKEL,0:NEXTL:PRINT"[147]";:GOTO39
328 FORT=1TO1000:NEXT:POKES+4,20
329 FORT=1TO1000:NEXT:GOTO325
330 PRINT"[147]"
331 PRINT"[206]UMBER [198]ROM ([203])EYBOARD OR ([196])ISK":GETKK$
332 GETKK$:IFKK$=""GOTO332
333 IFKK$="K"THENGOSUB375:RETURN
334 IFKK$="D"THENGOTO336
335 IFKK$<>"D"THENGOTO330
336 PRINT"[147]"
337 ZZ=1
338 INPUT"[198]ILE [206]AME ";NF$
339 PRINT"[195]LEAR [213]SED #'S [198]ILE ([217] OR [206])"
340 GETYN$:IFYN$=""GOTO340
341 IFYN$="N"GOTO344
342 IFYN$="Y"THENOPEN25,8,3,"@0:CHECKER,U,W":PRINT#25,"NO":CLOSE25:GOTO344
343 IFYN$<>"Y"THENGOTO340
344 PRINT"[147]"
345 OPEN25,8,3,"0:CHECKER":INPUT#25,YY$:IFYY$="NO"THENCLOSE25:PP=1
346 CLOSE25
347 OPEN15,8,3,""+NF$
348 INPUT#15,ZZ$(ZZ)
349 IFZZ$(ZZ)=""THENCLOSE15:GOTO338
350 IFZZ$(ZZ)="@"THENCLOSE15:GOTO352
351 ZZ=ZZ+1:GOTO348
352 IFPP=1GOTO357
353 OPEN25,8,3,"0:CHECKER":YY=1
354 INPUT#25,YY$(YY)
355 IFYY$(YY)="@"THENCLOSE25:YY=YY-1:GOTO357
356 YY=YY+1:GOTO354
357 FORX=1TOZZ-1
358 PRINTX;" ";ZZ$(X):NEXTX
359 PRINT:PRINT
360 INPUT"[208]ICK [193] [206]UMBER ([193] FOR ALL)";DD$
361 IFDD$=""GOTO45
362 IFDD$="A"THENRU=1:GOSUB366:RETURN
363 IFVAL(DD$)=0ORVAL(DD$)>ZZ-1GOTO360
364 HH=1
365 D$=ZZ$(VAL(DD$)):RETURN
366 HH=0:FORUU=1TOYY
367 FORII=1TOZZ
368 IFZZ$(II)=YY$(UU)THENZZ$(II)="@"
369 NEXTII
370 NEXTUU
371 FORII=1TOZZ
372 IFZZ$(II)<>"@"THENII=ZZ+1:HH=1
373 NEXTII
374 RETURN
375 PRINT"[147]"
376 INPUT"[206]UMBER [212]O [196]IAL";OO$
377 IFLEN(OO$)<7GOTO375
378 D$=OO$
379 HH=1:RETURN
380 PRINT"[147]":FORBB=1TO30:BB$(BB)="":NEXTBB:NF$=""
381 INPUT"[198]ILE [206]AME";NF$
382 IFNF$=""GOTO45
383 BB=1
384 PRINT"[206]UMBER [212]O [196]IAL ([210][212][206] [212]O [215]RITE [198]ILE)"
385 INPUTBB$(BB)
386 IFBB$(BB)=""GOTO388
387 BB=BB+1:PRINT"[145]":GOTO384
388 OPEN40,8,3,"@0:"+NF$+",S,W"
389 FORVV=1TOBB-1:PRINT#40,BB$(VV):NEXTVV
390 PRINT#40,"@":CLOSE40:GOTO45
391 TY=300:TZ=TI
392 IFTI>TY+TZTHENRETURN
393 GOTO392